﻿import pandas as pd
import matplotlib.pyplot as plt
# 设置字体
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False
# 获取数据
df = pd.read_csv("top250-1.csv", sep="#", encoding='utf-8',
                 names=['num', 'title', 'year', 'area', 'genre', 'rating_num', 'comment_num', 'href'])
# 获取前十电影类型数量
genre_counts = df['genre'].value_counts().head(10)
# figure函数设置幕布，后面是幕布大小
plt.figure(figsize=(10, 6))
# kind='bar'指定绘制垂直条形图
genre_counts.plot(kind='bar')
# 设置x轴
plt.xlabel('电影类型')
# 设置y轴
plt.ylabel('电影数量')
# 设置标题
plt.title('豆瓣电影Top250前十电影类型分布')
# 设置x轴刻度及位置
plt.xticks(rotation=45)  # 将横坐标数据旋转45°
# 利用循环将y轴数据显示在图表上
for i, j in enumerate(genre_counts):
    plt.text(i, j, str(j), ha='center', va='bottom')
plt.show()
